#ifndef SPECIES_PROPERTIES_UI_H 
#define SPECIES_PROPERTIES_UI_H

#include "../ui_speciesproperties.h"
#include "../../geom/PolyObject.h"
#include "../slotsData/SpeciesProperties.h"
#include <map>

class SpeciesPropertiesWidget : public QWidget
{ 
		Q_OBJECT
		
	public:
		SpeciesPropertiesWidget(QWidget* parent = 0);
		~SpeciesPropertiesWidget();
		Ui::SpeciesPropertiesWidget ui;

	public slots:
		void selectedSpeciesChanged(int);
		void uiChangeHappened();
		void dataChangeHappened();
		void browseFile();

	signals:
		void speciesChanged(slotsdata::SpeciesProperties);

	private:
		void updateSelectedView(QString filename, int selectedModel);
		void sendSpeciesChangedSignal();

		std::map<int, QString> m_modelFiles;
		std::map<QString, geom::PolyObject> m_speciesObjects;		

		int m_currentSpecies;
		QString m_currentFile;
		int m_currentModel;
};

#endif
